/**
**********************************************************************
* @file     main.c
* @brief    对文件的简要说明
* @details  对文件的详细说明
* @author   jcai
* @date     2022-04-28 17:50:21
* @copyright Copyright &copy; 2022 wy1107412334@163.com All rights reserved
* @version  v0.0.1
*
* \n Email:  wy1107412334@163.com
* \n Blog:   None
* \n Github: https://github.com/wy1107412334
* \n Gitee:  https://gitee.com/git.git1107412334.com
*
**********************************************************************
* @note
* None.
**********************************************************************
* @attention
* None.
**********************************************************************
@verbatim
@endverbatim
**********************************************************************
* @par 历史记录
* 1. v0.0.1: jcai, 2022-04-28 17:50:21
*   - 首次编写
*
*<center>Copyright &copy; 2022 wy1107412334@163.com All rights reserved</center>
**********************************************************************
*/

/* 头文件导入区 --------------------------------------------------- */

#include <SDL/SDL_video.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <SDL/SDL.h>



/**
**********************************************************************
* @brief    使用SDL显示图像
* @details  使用SDL在640x480的窗口中显示一个图像2秒，然后退出程序。
* @param[in] argc: argv这个数组中元素数量
* @param[in] argv: 保存程序启动时所有的参数
* @return  返回0成功；否则失败
* @note    none
*/
int main(int argc, char *argv[])
{
    SDL_Surface *image = NULL;
    SDL_Surface *screen = NULL;

    // 初始化SDL
    SDL_Init(SDL_INIT_EVERYTHING);

    // 创建一个大小为 640x480, 32位像素的窗口。将表面(Surface) 存放在内存中
    screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);

    // 加载图像
    image = SDL_LoadBMP("hello.bmp");
    if (!image)
    {
        fprintf(stderr, "图片 hello.bmp 加载失败\n");
        goto __exit;
    }
    // 将图形应用到窗口上
    SDL_BlitSurface(image, NULL, screen, NULL);

    // 更新窗口
    SDL_Flip(screen);

    // 延时 2 秒
    SDL_Delay(2000);

    // 释放已加载的图像
    SDL_FreeSurface(image);
__exit:
    // 退出SDL 。其会自动删除 screen 指向的表面
    SDL_Quit();

    return 0;
}




/***  Copyright (C) 2022 wy1107412334@163.com All rights reserved ***/
/****************************** END OF FILE *************************/

